/**
 * 121. 买卖股票的最佳时机
 */
public class BestTimeBuyStocks {
    public int maxProfit(int[] prices) {
        // dp[i]，意义为：在第i天卖掉前面这些天的股票所赚的利润的最大值
        int min = prices[0]; // 记录在i之前的最小价格
        int max = 0; // 记录当前最大的利润
        for (int i = 1; i < prices.length; i++) {
            int price = prices[i];
            if (price > min) {
                max = Math.max(price - min, max);
            } else {
                min = price;
            }
        }
        return max;
    }
}
